查看原文
其他

打通Python学习的任督二脉

Ahab Ahab杂货铺 2019-02-15

点击上方“Ahab杂货铺”,选择“置顶公众号”

技术分享第一时间送达!


                     

                                                                        

写在前面

Python的基础知识已经在上周全部更新完成,今天对之前的文章做一个汇总方便大家的查看【多图!加了好多思维导图】同时对有遗漏的知识点也已经做了补充,当然这一部分直接将自己的学习笔记给贴上了,文末加了四篇实战练习和一篇BAT面试题分享。今天更新的次条对LeetCode的1--20题做了汇总,发起了大家一起刷题的活动,后续刷题将不按顺序而是按照具体的知识点。

Python入门知识篇

python基础(01)

这一部分你将了解python语言是什么?python语言的特点。



Python基础(02)

这一部分你将学习到python语言的循环语句。



Python基础(03)

python基础(04)元组

在这里你可以掌握python的列表元组的相关操作。


Python基础(05)字典&字符串

这里介绍了python字典和字符串的操作。


Python基础(06)函数

在这里你将学到python函数如何定义,如何调用等相关操作。




Python面向对象篇

Python之面向对象(1)
Python面向对象之继承(02)
Python面向对象之多态(03)
Python面向对象之封装(04)


Python文件操作

 1#文件操作
 2"""
 3计算机的文件就是储存在某种长期存储设备上的一致数据
 4文件是以二进制的方式来保存
 5
 6打开文件  open 函数 打开文件 并且返回文件操作对象
 7读写文件 
 8 读 将文件内容读入内存  read 方法
 9 写 将内存内容写入文件  write 方法
10关闭文件   close 方法
11
12"""

13#read
14"""
15open 函数的第一个参数就是要打开的文件名 文件名区分大小写
16    如果文件存在 返回文件操作对象 
17    如果文件不存在 会抛出异常
18read 方法可以一次性读入并返回 文件的所有内容
19close 负责关闭文件 
20   如果忘记 关闭文件就会造成 系统资源消耗 并且会影响到后续对文件的访问
21   注意:方法执行后 会把文件指针 移动到 文件的末尾
22"""

23
24file=open("ahab.txt")
25text=file.read()
26print(text)
27file.close()
28
29#文件指针
30"""
31文件指针标记从哪个位置开始读取数据
32第一次打开文件时 通常文件指针会指向文件的开始位置
33当执行了 read 方法以后 文件指针 会移动到读取内容的末尾
34
35"""

36#打开文件的方式
37"""
38open 默认以只读方式 打开文件 并且返回文件对象
39f=open("文件名","访问方式")
40r 以只读方式 打开文件
41w 以只写方式 打开文件
42a 已追加方式
43r+ 以读写方式  文件的指针将会放在文件的开头 如果文件不存在抛出异常
44w+ 以读写方式  如果文件存在会被覆盖 如果文件不存在 创建新文件
45a+ 以读写方式  如果该文件已存在 文件指针会放在文件的结尾 如果文件不存在 会创建新文件进行写入
46
47频繁的移动文件时 会影响文件的读写效率 开发中更多的时候会以只读只写 的方式来操作文件
48"""

49
50file=open("ahab.txt","a+")
51file.write("hello  ddd")
52file.close()
53
54#readline方法
55"""
56readline 方法可以一次读取一行内容
57方法执行以后 会把文件指针移动到下一行 准备再次读取数据 
58"""

59'''
60file=open("ahab.txt")
61while True:
62    text=file.readline()
63    if not text:
64        break
65    print(text)
66
67file.close()
68'''

69
70# 复制文件
71""" 小文件"""
72
73file_read=open("ahab.txt")
74file_write=open("ahab2.txt","w")
75
76text=file_read.read()
77file_write.write(text)
78
79file_read.close()
80file_write.close()
81
82""" 大文件"""
83
84file_read=open("ahab.txt")
85file_write=open("ahab3.txt","w")
86
87while True:
88    text=file_read.readline()
89    #判断是否读取到内容
90    if not text:
91        break
92    file_write.write(text)
93
94file_read.close()
95file_write.close()
96
97
98#文件目录的常用管理操作
99"""
100文件操作
101rename  重命名  os.rename(源文件名,目标文件)
102remove  删除文件 os.remove(文件名)
103
104目录操作
105listdir  目标列表   os.listdir(目录名)
106mkdir    创建目录
107rmdir    删除目录
108getcwd   获取当前目录
109chdir    删除工作目录
110path.isdir  判断是否是文件
111
112文件或者目录操作都支持 相对路径 绝对路径
113


Python模块

1#模块
2"""
3每一个以扩展名 py 结尾的python源代码文件都是一个模块
4模块名同样是一个标识符 需要符合标识符的命名规则
5在模块中定义的全局变量 函数 类 都是提供给外界直接使用的工具
6模块就好比是工具包 要想使用工具包中的工具 就需要先导入这个模块
7
8如果模块的名字太长 就可以使用as 指定模块的名称 以方便在代码中使用
9
10如果希望从某一模块中导入部分工具的方式:
11from 模块名 import 某一个工具
12导入所有工具方式:
13from 模块名 import *
14
15如果两个模块存在同名的函数 那么后导入模块的函数 就会覆盖先导入的函数
16



Python错误&异常

 1#异常
 2"""
 3程序停止执行并且提示错误信息这个动作,我们通常称之为 抛出异常
 4
 5"""

 6    #捕获异常
 7"""
 8基本语法:
 9try:
10    尝试执行的代码  不能确定是否能够正常执行的代码
11except:
12    出现的错误代码  下方编尝试失败的代码
13
14"""

15
16try:
17    num=int(input("请输入一个整数"))
18except:
19    print("输入正确整数")
20
21print("--"*50)
22
23    #根据错误类型捕获代码
24"""
25在程序执行时 可能会遇到不同类型的异常 并且需要针对不同类型的异常
26做出不同的响应 这个时候就需要捕获错误类型
27
28try:
29    尝试执行的代码  
30    pass
31except 错误类型1:
32    针对错误类型1,对应的代码处理
33except(错误类型2,错误类型3):
34    针对错误类型2,错误类型3,对应的代码处理
35except Exception as result:
36    print(“未知错误%s”%result)
37
38"""

39
40try:
41    num=int(input("请输入一个整数"))
42    result=8/num
43    print(result)
44#except ZeroDivisionError:
45 #   print("你整啥呢")
46except ValueError:
47    print("你疯了?")
48#捕获未知错误的固定语法
49except Exception as result:
50    print("未知错误%s"%result)
51
52
53    #捕获异常的完整语法
54
55try:
56    num=int(input("请输入一个整数"))
57    result=8/num
58    print(result)
59except ZeroDivisionError:
60    print("你整啥呢")
61except ValueError:
62    print("你疯了?")
63#捕获未知错误的固定语法
64except Exception as result:
65    print("未知错误%s"%result)
66else:
67    print("没有异常才会执行的代码")
68finally:
69    print("无论是否有异常都会被执行")
70
71    #异常的传递
72"""
73异常的传递  当函数/方法执行出现异常 会将异常传递给 函数/方法的调用一方
74如果传递到主程序 仍没有处理异常 程序才会被终止
75
76在开发中可以在主函数中增加 异常捕获
77而在主函数中调用的其他函数 只要出现异常 都会传递到主函数的异常捕获中
78这样就不需要在代码中增加大量的异常捕获 能够保证代码的整洁
79
80"""

81
82def demo1():
83    return  int(input("请输入一个数字"))
84
85def demo2():
86    return demo1()
87#利用异常的传递性 在主程序中捕获异常
88try:
89    print(demo2())
90except ValueError:
91    print("请输入正确的整数")
92except Exception as result:
93    print("未知错误%s"%result)
94
95    #抛出raise异常  主动抛出异常
96"""
97创建 一个exception 的对象
98使用raise 关键字抛出异常对象
99"""

100
101def input_password():
102    num=input("请输入密码")
103    if len(num)>=8:
104        return num
105    print("主动抛出异常")
106    #创建异常对象 可以使用错误信息字符串作为参数
107    ex=Exception("密码长度不够")
108    #主动抛出异常
109    raise ex
110try:
111    print(input_password())
112except Exception as result:
113    print(result)

Python实战练习

用Python 优雅的打飞机

用python做一个社会人

30行代码实现微信自动回复机器人

微信好友大揭秘

BAT版Python面试题

Python面试题(01)



文中的所有思维导图引自公众号「数林觅风」,作者博客:https://woaielf.github.io/



【推荐阅读】

Python之禅

【LeetCode】(No.020)有效的括号

从0开始如何用一个月杀进机器学习比赛Top25%


欢迎您的点赞和分享

▲长按关注此公众号

               

               

               

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存